The present invention relates to computer networks and more particularly to systems and methods for upgrading packet processing software without interfering with packet flow.
Routers are internetworking devices that are typically used to connect similar and heterogeneous network segments into internetworks. A typical router includes various interfaces that send and receive packets. The router receives a given packet through a first interface, processes the packet to determine how to best forward the packet to its destination, and then based on this determination transmits the packet through a selected second interface.
In a high speed data communication network, a router will handle a very large and continuous flow of packets. Any sustained interruption of router operation may adversely affect network performance due to increased latency or even loss of packets.
Many popular types of routers operate under the control of packet processing software. The packet processing software directly manipulates the individual packets to be forwarded by the router. As with any software controlled device, it is sometimes desirable or necessary to replace or upgrade the software. A problem arises in that changing software requires halting packet processing because it is the software that directly manipulates the packet. Systems and methods for replacing router software while minimizing impact on network operation are needed.
Systems and methods for replacing software controlling active routers while minimizing impact on network operation are provided by virtue of one embodiment of the present invention. The software replacement process takes advantage of packet processor redundancy. In one embodiment, an active packet switching device to be reprogrammed is de-activated and a redundant packet switching device takes over. The no longer active packet switching device is reprogrammed before being reactivated.
A first aspect of the present invention provides a computer-implemented method for replacing an active packet switching device without interfering with packet flow. The method includes receiving a failover message at a currently active packet switching device (A), transferring protocol state information from the packet switching device (A) to a currently inactive packet switching device (B), de-activating the packet switching device (A) and activating the packet switching device (B).
A second aspect of the present invention provides a computer-implemented method for reprogramming an active packet switching device without interfering with packet flow. The method includes: de-activating a current packet switching device (A) and activating a standby packet switching device (B) to handle packet flow previously handled by the packet switching device (A), thereafter reprogramming the packet switching device (A), and thereafter deactivating the packet switching device (B) and re-activating the packet switching device (A).